package com.lefevre.cms.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lefevre.cms.bean.PermissionObject;
import com.lefevre.cms.bean.staff.SysPermission;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SysPermissionMapper extends BaseMapper<SysPermission> {

    /**
     * 获取用户权限集
     *
     * @param userAccount 用户
     * @return
     */
    List<String> selectPermissionNamesByUser(@Param("userAccount") String userAccount);

    /**
     * 获取用户权限ID集
     *
     * @param userAccount 用户
     * @return
     */
    List<String> selectPermissionIdsByUser(@Param("userAccount") String userAccount);

    /**
     * 根据资源ID获取权限集
     *
     * @param resourcesId 资源ID
     * @return
     */
    List<SysPermission> selectPermissionsByResourceId(@Param("resourcesId") String resourcesId);

    /**
     * 根据角色ID查询权限集
     *
     * @param rolesId 角色ID
     * @return
     */
    List<SysPermission> selectPermissionsByRoleId(@Param("rolesId") String rolesId);


    /**
     * 获取权限对象
     *
     * @return
     */
    List<PermissionObject> selectPermissionObjs();

}
